package com.example.demo.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.example.demo.pojo.User;


@Repository
public interface UserDao {
	
	/**
	 * 检查用户注册的账号是否重复
	 * */
	public String checkRegisterUserAccountRepeat(@Param("userAccount") String userAccount);
	
	/**
	 * 注册时增加用户
	 * */
	public int registerAddUser(User user);
	
	/*
	 * 登录检查
	 * */
//	public Integer loginCheck(User user);
	public String checkToken(String userAccount);

	/**
	* 用户访问网页时验证token
	* */
	public int createTokenAndLogin(@Param("userTokenWeb") String userTokenWeb,@Param("userAccount") String userAccount);

	/**
	 * token失效用户被动登录或者用户主动重新登录时,检验密码和加密密码是否一致
	 * **/
	public User checkpw(@Param("userAccount") String userAccount);

	/*
	 * select用户基本信息
	 * */
	public List<User> findUserBasicInfo(@Param("userAccount") String userAccount);

	/** 后台功能 **/

	/**
	 * select用户列表
	 * */
	List<User> findUserList();

	/*
	 * ͨ根据用户ID查询
	 * @param
	 * @return
	 * */
	public User findUserById(int id);

	/**
	 * 后台更新用户信息
	 * */
	public int backUserUpdataInfo(@Param("userAccount") String userAccount, @Param("userName") String userName, @Param("userPower") String userPower, @Param("userProfile") String userProfile);

	/**
	 * 更改用户的启用状态（禁用、启用）
	 * **/
	public int changeUserState(@Param("userState") String userState,@Param("userAccount") String userAccount);

	/**
	 * 后台删除用户（已使用禁用、启用用户代替删除）
	 * */
	public int deleteUserFromBack(@Param("userAccount") String userAccount, @Param("userName") String userName);
}
